Services for which information is distributed within a communication network are generally referred to as network services. Examples of applications that may be referred to as network services include reservation systems, online shopping or auction sites, games, multimedia applications, calendars, maps, chat applications, weather displays, clocks, interactive design applications, stock tickers, currency converters and data entry/display systems. With the pervasive use of Web browsers and Web document formats across a range of platforms and devices, many developers employ the Web as an application environment. Web Services (WS) are an example of network services, i.e. they are a new type of Web applications that are self-contained, self-describing and modular, representing the next generation of web-based technology. This being a new technology, a brief review of the web services (WS) follows for reader's convenience, and for better explaining the present invention.
Web services can be viewed as a sophisticated standard-based machine to machine Remote Procedure Call (RPC) technology for interconnecting multiple heterogeneous web-based applications, adapted to automatically exchange information over the public Internet network. This automation is bringing technology based processes and business efficiencies from technology companies to world leading non-technology companies, such as e.g. retail companies.
Web services are becoming the basis for electronic commerce of all forms; enterprises invoke the services of other enterprises to accomplish a business transaction. An example of a web service is automated supply chain management, where store front purchases are cleared by monetary agents, restocking orders are sent directly to the factories by the purchasing department, and billing information is collected by head offices, each with their own software systems.
In an environment in which only a few companies participate in business to business (B2B) or client-to-business (C2B) transactions, managing the discovery of business partners manually would be simple; however, this becomes a complex task as the number of companies that need to interact grows, along with the number and types of interfaces they export. Universal Description, Discovery, and Integration (UDDI) Project provides a standardized method for publishing and discovering information about web services. UDDI is a single conceptual registry hosted by different businesses on the Internet and distributed among many nodes that replicate the participating businesses'data with one another.
Conceptually, a business can register three types of information into a UDDI registry. Namely the White pages provide basic contact information and identifiers about a company, including business name, address, contact information, and unique identifiers. The information in the Yellow pages describes a web service using different categorizations (manufacturing or car sales business), so as to allow allows others to identify a particular web service based upon its categorization. Green pages provide technical information that describes the behaviors and supported functions of a web service hosted by your business. This information includes pointers to the grouping information of web services and where the web services are located.
Web services applications are built with pieces of code and data that may come from anywhere in the public Internet. The framework for enabling web services may be divided into three areas, including communication protocols, service description, and service discovery. A web service has an interface described in a machine-processable format, specifically WS description language WSDL, which is an XML (eXtensible Markup Language)-based language and represents a standardized approach to network service description. Any mode of transport can be used for communication, although Internet standards such as HyperText Transfer Protocol (HTPP) are currently the most popular.
The extensible Markup Language (XML) is a meta language that allows the definition of new vocabularies for document or data exchange, being specified by the World Wide Web Consortium (W3C). The W3C is an international industry consortium created to lead the Web to its full potential by developing common protocols, addressing the needs for an extensible and interoperable Web. The W3C is the primary center for developing other cross-industry specifications that are based on XML.
Some of these are being done within the XML Activity group, which tries to keep a balance between maintaining stability and backwards compatibilities, making improvements that help to encourage interoperability, and bringing new communities into the world of XML. Simple Object Access Protocol (SOAP) is a new way for enabling programs to communicate with each-other for exchanging structured information in a decentralized, distributed environment, created with the view to make it much easier for programmers to write applications. It defines a SOAP header and a SOAP payload, where the header indicates the type of payload (request message, reply message, fault, etc.). SOAP uses XML to encapsulate the data that needs to be sent to a remote subroutine of an application, providing a message construct that can be exchanged over a variety of underlying protocols. XML is used to return data from the remote subroutine and to return notification of any error condition that might have occurred.
Currently, only parts of the Web are accessible from cellular phones, TV, digital cameras, and in-car computers. Mobile Web access suffers from interoperability and usability problems that make the Web difficult to use for most mobile phone subscribers. W3C's Mobile Web Initiative (W3C MWI), launched in May 2005, proposes to address these issues through a concerted effort of key players in the mobile production chain, including authoring tool vendors, content providers, handset manufacturers, browser vendors and mobile operators. Currently, the W3C MWI is focusing on developing best practices for “mobileOK” Web sites, device information needed for content adaptation, and marketing and outreach activities.
In addition, there are a few problems with the existing Internet based service solutions available today, particularly in the area of wireless/mobile services. For example, the carriers avoid opening-up their mobile devices to the public infrastructure because of the difficulty of controlling the transactions, which result in lost revenue. A web services solution for mobile/wireless clients will provide a standards-based mechanism allowing controlled access, while enabling the carrier to bill for services as the intermediate broker.
Still further, it is difficult to put large clients on mobile phones able to inter-work over the Internet, in order to, for example, execute database queries; this requires tight coupled software clients with enterprise backend systems. A web browser interface is ineffective in this case, in particular when it needs to penetrate the public facing firewalls etc. to the backend servers.
There is a need to provide a solution to enable mobile and fixed wireless network clients to access the web services extranet, a solution that provides secure access to the extranet services, performs data transformation, supports proxies for various web services and XML standard and non-standard features.